﻿/* 
 * Since 2008 - 2012
 */

package com.hh.bss.talent.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.hh.bss.base.EntityDao;
import com.hh.bss.common.page.Page;
import com.hh.bss.project.entity.SearchProjectCv;
import com.hh.bss.talent.entity.Cv;
import com.hh.bss.talent.entity.CvContactDetail;
import com.hh.bss.talent.vo.query.CvCustomerContacterQuery;
import com.hh.bss.talent.vo.query.CvQuery;
import com.hh.bss.talent.vo.query.CvSuccessQuery;

public interface CvDao <E,PK extends Serializable> extends EntityDao<E,PK>{		
	public Page findPage(CvQuery query);
	public Page findCvPage(CvQuery query);
	public Page findCvProjectPage(CvQuery query);
	public Map getCvInfoById(Integer id);
	public Page findSuccessCvPage(CvSuccessQuery query);
	public void saveCompanyTree(SearchProjectCv search);
	public Integer getCompanyId(String companyName);
	public boolean isExistSearchProjectCv(Integer cvId,String companyId);
	public Page findCustomerContacterCvPage(CvCustomerContacterQuery query);
	public boolean checkUser(Cv cv,List<CvContactDetail> list);
	public List findCvList(Cv cv);
	public void importCvFromExcel(String fileName);
	
	public boolean hasAccountPn(Integer  cvId);
	public Page findCvDelPage(CvQuery cvQuery);
	public Page findCvMergePage(CvQuery cvQuery);
	public void cvMerger(String id,String cvIds);
	public Page findSimpleCvPage(CvQuery query);
	public Page findSameOfDelCvPage(CvQuery cvQuery);
	public boolean checkCvIntegrity(Integer id);
	public void recoverCv(String ids);
	public void updateCompanyName(Integer id, String attrName);
}
